{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "collapsed": false,
    "deletable": true,
    "editable": true
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/usr/local/var/pyenv/versions/3.5.2/envs/yb-dev/lib/python3.5/site-packages/sklearn/cross_validation.py:44: DeprecationWarning: This module was deprecated in version 0.18 in favor of the model_selection module into which all the refactored classes and functions are moved. Also note that the interface of the new CV iterators are different from that of this module. This module will be removed in 0.20.\n",
      "  \"This module will be removed in 0.20.\", DeprecationWarning)\n"
     ]
    }
   ],
   "source": [
    "import yellowbrick as yb \n",
    "import matplotlib.pyplot as plt\n",
    "%matplotlib inline\n",
    "\n",
    "plt.rcParams['figure.figsize'] = (12, 8)\n",
    "\n",
    "from yellowbrick.features.rankd import Rank2D\n",
    "from yellowbrick.features.radviz import RadViz\n",
    "from yellowbrick.features.pcoords import ParallelCoordinates\n",
    "from yellowbrick.features.scatter import ScatterViz"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "collapsed": true,
    "deletable": true,
    "editable": true
   },
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "url = 'http://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data'\n",
    "col_names = ['sepal_length', 'sepal_width', 'petal_length', 'petal_width', 'species']\n",
    "iris = pd.read_csv(url, header=None, names=col_names)\n",
    "iris['species_num'] = iris.species.map({'Iris-setosa':0, 'Iris-versicolor':1, 'Iris-virginica':2})"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "collapsed": true,
    "deletable": true,
    "editable": true
   },
   "outputs": [],
   "source": [
    "all_features = ['sepal_length', 'sepal_width', 'petal_length', 'petal_width', 'species_num']\n",
    "features = ['petal_length', 'sepal_width']\n",
    "classes = ['Iris-setosa', 'Iris-versicolor', 'Iris-virginica']\n",
    "\n",
    "# Extract the numpy arrays from the data frame\n",
    "X = iris[all_features]\n",
    "y = iris.species_num.as_matrix()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {
    "collapsed": true,
    "deletable": true,
    "editable": true
   },
   "outputs": [],
   "source": [
    "from yellowbrick.style import palettes\n",
    "from matplotlib.colors import Colormap"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {
    "collapsed": false,
    "deletable": true,
    "editable": true
   },
   "outputs": [],
   "source": [
    "colors = palettes.PALETTES['pastel']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {
    "collapsed": false,
    "deletable": true,
    "editable": true
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAs4AAAHtCAYAAAAJPPgpAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3XmYXFWd+P93VzrdnT2EXQMk0XiACSHQoKgIGQWUVXFh\niURUFBgfgS/4U4ZVFh31O4wgI8oS4oKyKiAGUBgQ0fmCQqOGVjmsgcQgQSTpJKQ7dKp+f1R1U+n0\ncitdt6uq+/16njzpuvfWOZ97T0E+ferc+6nL5XJIkiRJ6l+m0gFIkiRJtcDEWZIkSUrAxFmSJElK\nwMRZkiRJSsDEWZIkSUrAxFmSJElKoL7SAUiqPSGEfYCvAVuS/wV8KfD/xRj/vJnt7Q2cEGM8ufD6\nHmBejPEfg4jx+8CBwMtADhgNPAN8Nsa4IoSwBPhojPHRpHGVWwjhGuDKGGNLP8dMA1pjjOMHaGsJ\nA5zP5ioejzT7GWohhAuArWKMnx9kOxcBT8cYf9hj+1bAyzHGuhDCJOC2GON7C/tywNaD+YxLGnom\nzpJKEkJoBBYBB8UYHytsOw64O4QwPca4YTOa/RdgatHrAwcfKQCXxhgv6XoRQvgv4DvARzczrnI7\nELgqxfbLpVzjMSzFGM9PcNgWwNvTjkVSukycJZVqLDAZKJ4B/THQBowCNoQQPg18AdgA/AM4Hvgb\ncCmwDzABqAM+A7wAXARMCiF8r6jNX4UQDgGywLeBHcnPGt8YY/yPwkzsb4C/AtOA/WOMLw4Q+33A\n/+25MYRwInBqId6XgM8D64rjijF+KoRwF/kZ4jt6vP8C8kn2dsC2wB+Bz8QY20IIb+4j/q8CbwJ+\nHEL4ROF6/F+gEdgeuDfGeMIA59OrEMLhwLlAA/Aa+W8DHirEOa3Q/k7kZ+OPjjEuDyG8nfwvFQ3k\nZ+Z3As4gP3bwxngAnBRCuBLYBrguxnhOj/4PAv4rxrhb4fVk4DlgBnAMcDKwHmgHToox/qXH+3cG\nrgWaCtdlQYzxO4V95wAfIf9NxxLgc4X4HwD+AuwFbFWI68uF95wNfKjQ3rjC9bgt4bX8A/DFGOP/\nhBCOAb4PbBFjXFf4xuAP5BPi1hjjJSGEDwNfLVz3R4qa+h4wJoTwR6C5sO3Cwrc3WwL/GWO8IklM\nkirHNc6SShJjfBX4EvCLEMKzIYTrgE8B/xNjXB9C2B34BvCBGONs4A7gHOAd5BPFd8YYdwV+APx7\njHEpcD7wmxjjp2KMnyp09a+FfdcBC2OMzeQTlANCCEcVjpkKXBxjfNtASXMIYQzwCeBXPba/t3A+\n/xpj3B24HrgdWFYcV+HcD+mZNBfZh/xM9s5AZ+G99BV/IdlcDnw8xvg74DTg/BjjO4BdgSNCCM09\nOxlICGEm8B/AITHGPYATgVtDCOMKh7wH+FiMcWfgVfJJcD3wU+C8wphdDswpnHPP8QBojzHuVTif\nL4QQdugRxr3A+BDCXoXXxwJ3kv/l6jLyn429gauBfXs5jS8CPy9cs0OA/UIImcIvGLsBb48xzgHu\nAhYUvW8n4N3AnsDRIYTDQgg7AQeQ/8VqNvnP4kUJLmWX24APFH7+APlr9p4QQgY4FLi168AQwrbA\nQuAjhdifL2rnU8C6GOOcom9lni0cdyTwXyGE0SXEJakCTJwllSzG+E3yM6unAi8CZwJ/KKzjfB/w\ny64kK8Z4WYzx5BjjQ+RnQU8KIVxCPskcaN3uOGB/4OLCTN3D5Gdu5xQO6QQe6qeJ00MIfyy89xHg\nFeCsHsd8ALgpxvhyId7vA28mPzNbiltijC/FGLPkZ0vfnyD+YscDkwuzo98hP7Pf7/Xpw4HkZ5Tv\nK/T5Y/Kz9m8t7H8gxthW+PkPwBTyySgxxrsLf/8KaO2nj+sLx/2d/Az9NsU7Y4w58tfgk4VNnyI/\na7wBuAX4fyGEbwOrCsf1dBvwpRDCrcCHgVML1/Uw8r+gPFo4t1OAUPS+q2KMr8cYVxb6eX+M8Xny\n1/bjIYSvk5/tLuW63gYcXPj5PcA3yV/jdwDPFK5Bl32Bx4tm0AdahnN94e8/kv+mYWIJcUmqAJdq\nSCpJCOHdwLtijP9Jfq3zokKy9zj5hKKT/M14XcePIT8T+BbgW8B/AT8DngCOG6C7UeS/qn9XjPG1\nQntbkf+KfyugI8bY2c/7N1rj3IfeJhDqyC+rKEVxHBnyyz76i7+n3wB/An4B3Ew+MasrMQYKfd4X\nYzy6a0NhRng5+ZnNdUXH5gp9dPbSV39r1V/vpY2evkf+l6kFwOQY4wMAMcbjQgizyM8CnwmcAHyw\n+I0xxkWFmfMDyf8i9uUQwrsK5/aNGON3C+fVSH7tcJdNxiCEsCf5z9ulwD3Ar4Hv9nNuG4kxPh5C\naAghHAE8DfwcuKnQ1097HN7zWvT32YTCdYwx5kIIsHnjLWkIOeMsqVQvA+eGEIq/Yt+e/NrRx8kv\nhTgghLB9Yd9J5NfuHkj+6/fvkp/9/RD5RAjyCUZxoroBGF2YGX2Y/FrbrrWy/0uPRGuQfkn+a/2t\nC318ivzM9NO9xNWfD4YQJhW+wv8s+XMdKP5OYHQIYQvya3PPjDHeSn7G+628cX1KcT9wUGGdMIV1\nyYvJr+/ty1+BjhDCBwrveTv5WeiuX4A2UOIvEjHGvwG/Iz/ruqDQ7lYhhKXAKzHGy8h/A7F7z/eG\nEK4nv/b6RuBz5Jd47EB+rD4TQuiamb2I/FKYLscVlnRsARxFPsndD3i08C3Jr9n4c5fUbeSXH90T\nY3wCmAR8nE0T598A/1JYrgRvzLhDfqxHhRBMjqUaZuIsqSQxxifJJx//UVjj/BfyM6QnxrzHya9R\n/UUI4U/kl0KcDFwJ7B9CWEx+ecUzwPRCovkQsHMIoeuGrVuB3xZmJucB+4QQHiefiN0QY/xxGc/n\nXvKzkfeHEP5M/mv9wwpLAzaKK4RwV2HmsTcvkV9z+1fySxD+o7C9v/hvJz97uTf5x/s9FkJ4lPxy\nkv/ljeUVpZzPn8mva76xcP0vBo6IMa7t5z2d5G+4u6BwM9wXgL+Tv8ENNh6PUlwD7EF+PTuFR699\nhfwykhbg6+RvEO3pYvJLK/5E/prdRj7pXUD+W46HC2M1m42T0zHA78n/svKdGON9wA3AVoXPaQuw\nBpgSQphQwnncRn7t+r2F1/cCLxat+aZwfi+TH+8fhxAeA6YX7X4ReAz4awhhyxL6llRF6nK53MBH\nSZL6FMr0POBKCiH8J3BJjPGlwtKOPwEzCuuFq17hqRrfjjH+pNKxSBq+XOMsSTUghPBx8jP5vflx\nYc35YDxPfib4dQqPCqyVpHmwQgg3sfFNhsWOjjHGoYxHUvVyxlmSJElKwDXOkiRJUgImzpIkSVIC\nNbHGuaWlpZH8Xecv0v+zRSVJkqTBGEX+MauPNDc3dxTvqInEmXzS/JtKByFJkqQR4z3Ab4s31Eri\n/CLA2972NhoaGioSQGtrK7NmlfoIU6XNcalejk31cmyql2NTvRyb6pTGuKxfv54nn3wSCvlnsVpJ\nnDcANDQ00NjYWLEgKtm3+ua4VC/Hpno5NtXLsalejk11SnFcNlke7M2BkiRJUgImzpIkSVICJs6S\nJElSAibOkiRJUgImzpIkSVICtfJUDUmSpBEtl8vRsb7vOnCNDaOoq6sbwohGHmecJUmSakDH+g20\nPvNKn3/6S6oHsmzZMo466qiNtj344IPcdNNNgw17E/feey8vvfRS2dsdCibOkiRJ2sR+++3H0Ucf\nXfZ2f/jDH7JmzZqytzsUXKohSZIkAObPn8+UKVNYtWoVhx56KM8//zynnHIKp512GmvWrGHdunWc\nfvrp7Lvvvhu975577uGaa66hvr6ebbbZhksvvZS1a9dyzjnn8OqrrwJw7rnn8uKLL/LXv/6VM888\nk+uvv54f/ehH3HnnndTX17PXXnvxxS9+kZaWFr7xjW9QX1/PmDFj+Na3vgXAOeecw+rVq1mxYgXz\n5s1j3rx5Q359TJwlSZLU7bDDDuPAAw/k1ltvBeCFF15g5cqVLFiwgFdeeYUlS5Zs8p5FixZxwgkn\n8IEPfIDbb7+dNWvWcNVVV7HPPvswb948lixZwllnncUNN9zALrvswgUXXMBzzz3H3XffzY033kh9\nfT2nnHIKv/rVr/j973/PwQcfzPHHH8/9999PW1sbr776KoceeigHHXQQL730EvPnzzdxliRJUmVN\nnz59o9czZ87k6KOP5owzzqCzs5P58+fz6KOPds8En3DCCZx11llcddVV/OhHP2LGjBkccMABPPnk\nkzz88MPcfffdAKxatWqjdp999ll23313Ro8eDcBee+3FU089xcknn8yVV17J8ccfz7bbbsvs2bPZ\naqut+MEPfsA999zD+PHj6ezsHIIrsSkTZ0mSJHXr+WSOGCNr167l6quvZsWKFRxzzDHcf//9XHfd\ndd3HXHbZZZxyyilsueWWnH/++dx7773MmDGDI444gsMPP5xXXnmFW265pbv9XC7HjBkz+N73vkdn\nZyejRo3ikUce4UMf+hB33HEHRx55JGeeeSZXXXUVN998M6tXr2bOnDnMmzePhx9+mF//+tdDek26\nmDhLkiSpT9OmTeOKK67g7rvvJpvNcuqpp25yzOzZsznppJMYN24cY8eOZe7cucydO5dzzjmHm2++\nmTVr1vD5z38egD322IMvfelLLFy4kIMPPphjjz2WbDZLc3MzBxxwAIsXL+bcc89lzJgxZDIZLrro\nIv72t7/xla98hbvuuosJEyYwatQo1q9fP9SXgrpcLjfknZaqpaVlGvDcrFmzaGxsrFQMNDc3V6Rv\n9c1xqV6OTfVybKqXY1O9qmFsfI7zptIYl46ODlpbWwGmNzc3Lyne54yzJElSDairq6Op0dStknyO\nsyRJkpSAibMkSZKUgImzJEmSlICJsyRJkpSAibMkSZKUgImzJEnSCLds2TKOOuqojbY9+OCD3HTT\nTUMey9VXX83ixYtLes/8+fN55plnUoroDT7TRJIkqcbct7wVgPe9aVZqfey3336ptd2fE088sSL9\nJmHiLEmSJCA/cztlyhRWrVrFoYceyvPPP88pp5zCaaedxpo1a1i3bh2nn346++67b/d7Xn/9dQ45\n5BB+9rOfMXbsWK699lpGjRrF+9//fs477zw6OjpobGzk4osvZsOGDfzbv/0bkydPZr/99mPs2LHc\nfvvtZDIZdtttN84991z+/d//nUMOOYS3v/3tnHXWWSxfvpzXX3+d8847j1mzZnHWWWexbNkyNmzY\nwP77779RAZS2tja++MUvsmbNGjZs2MBpp53GO9/5Tg477DCmTZvG6NGjufTSSzf7+pg4S5Ik1Yiu\nmeZ1G9Zv9BrKN/t82GGHceCBB3LrrbcC8MILL7By5UoWLFjAK6+8wpIlSzY6fvTo0Rx00EHcc889\nfOhDH2LRokUsXLiQCy+8kPnz57P//vvz0EMPcckll3D66afz8ssv89Of/pSGhgY+8pGP8OUvf5nZ\ns2dz/fXX09nZ2d3ujTfeyJvf/GYuvfRSlixZwgMPPMCf//xnpkyZwiWXXMKaNWs45JBDmDdvXvd7\nvvvd7/Kud72L448/npdeeoljjz2W++67j9dee43Pfe5z7LrrroO6Nq5xliRJUrfp06dv9HrmzJkc\nffTRnHHGGVx44YVks1keffRR5s+fz/z583nggQf42Mc+xu23387ixYuZPn06W2yxBU8++SRXXXUV\n8+fP54orruCVV14BYOrUqTQ0NADwta99jeuvv57jjjuO5cuXk8vluvt99tlnmTNnDgDTpk3jk5/8\nJM888wx77703AOPHj2fq1KksXbq0+z3F+7fddlvGjx/f3W/P89oczjhLkiTViK5Z5TTXONfV1W30\nOsbI2rVrufrqq1mxYgXHHHMM999/P9ddd91Gx+VyORYsWMCxxx4LwIwZM/j0pz/NnnvuyTPPPMMj\njzwCQCbzxrztzTffzIUXXkhjYyMnnHACf/jDH7r3veUtb+Hxxx/ngAMOYOnSpVx22WXssccePPro\noxx44IGsWbOGF154galTp270nkcffZRdd92Vl156iba2NiZPnrxJv5sr1cQ5hPAY0FZ4+VyM8VNF\n+z4LnAR0Al+JMS5KMxZJkiSVbtq0aVxxxRXcfffdZLNZTj311F6P++hHP8rll1/OPvvsA8CZZ57J\nBRdcQEdHB+3t7ZxzzjmbvCeEwLx58xg3bhzbbrstu+++e/cSkWOOOYazzz6b4447jg0bNnD22WcT\nQuC8887j2GOPpaOjg4985CNsueWW3e2ddNJJnH322fzyl7+kvb2diy66iPr68qW7dcVT4uUUQmgC\nHoox7tHLvu2Ae4G9gCbgt8BeMcaO3tpqaWmZBjw3a9YsGhsbU4l3IC0tLRstPld1cFyql2NTvRyb\n6uXYVK9qG5uheKpGLUhjXDo6OmhtbQWY3tzcvKR4X5ozzrsDY0MI9xT6OTvG+HBh39uB/y0kyh0h\nhKeB2cAjKcYjSZI0LIz0hLlS0kycXwMuARYAM4G7QwghxtgJTARWFR27Gpg0UIOF7L9iWlpaKtq/\neue4VC/Hpno5NtXLsalejk11GspxSTNxfhJ4OsaYA54MIbwCbA8sJb/ueULRsROAlQM16FIN9eS4\nVC/Hpno5NtXLsalejk11SnmpxibSTJw/DewGfC6E8Cbys8wvFvb9HvhqYR10I7ALUNnpZEmSJKkf\naT7H+Vpgcgjht8BN5BPpU0MIR8QY/w5cDvwGuB84J8bYnmIskiRJ0qCkNuMcY1wPzOux+f8V7b8G\nuCat/iVJkqRysnKgJElSjcllO8l1rCGX7Rz44ASWLVvGUUcdtdG2Bx98kJtuummz27z66qtZvHhx\nomMH6uvWW2/lvvvu2+xYysXKgZIkSTUil8uSW/Y4rPwbvL4ORo8hN/nN1E3djbq68s6H7rfffoN6\n/4knnli2vj784Q8PKpZyMXGWJEmqEbllj8PLT7+x4fV18PLT5IC6HXYfdPvz589nypQprFq1ikMP\nPZTnn3+eU045hdNOO401a9awbt06Tj/9dPbdd983Qnj9dQ455BB+9rOfMXbsWK699lpGjRrFE088\nwSGHHMI//vEPfvrTn3ZXHVy2bBk//vGPmTRpEqNHj+aQQw4B4Nlnn+WYY47hC1/4Attttx1Lly5l\nt91248ILL+S///u/2WqrrTjmmGO4+OKLWbx4cXe/c+bM4fzzz+fvf/87K1as4L3vfS+nn376oK9F\nb1yqIUmSVANy2c78THNvVi0v27KNww47jO9///uMGjUKgBdeeIGVK1dy5ZVX8s1vfpMNGzZsdPzo\n0aM56KCDuOeeewBYtGgRH/zgBzc6ZuLEidxwww2EEFiwYAE33HADCxcuZN26dZv0v2TJEr761a9y\nyy238OCDD/Lyyy937/uf//kfXn31VX7yk5/wwx/+kGeffZYXX3yROXPmcO211/KTn/yEG2+8sSzX\noTfOOEuSJNWC19vzM8y9Wf9afn/j+EF3M3369I1ez5w5k6OPPpozzjiDzs5O5s+fz6OPPsq3vvUt\nAE444QQ+9rGPccEFFzBjxgymT5/OFlts0WubL7zwAm95y1sYM2YMAHvssccm/e+4446MH58/j623\n3pqOjo7ufc899xxz5swBYNKkSRx11FFMnjyZxx9/nIcffpjx48ezfv36QV+Dvpg4S5Ik1YLRTTB6\nTO/Jc8PY/P4yqKur2+h1jJG1a9dy9dVXs2LFCo455hjuv/9+rrvuuo2Oy+VyLFiwgGOPPXaTNjOZ\n/CKHHXfckWeffZb29nYaGhpYvHgxM2bM6Lf/YjNmzOAXv/gFAKtXr+ZrX/saRxxxBBMmTOCiiy7i\n+eef5+abbyaXy/XbzuYycZYkSaoBdZl6cpPfvPEa5y6T3kRdJp20btq0aVxxxRXcfffd3euUe/PR\nj36Uyy+/nH322afPtqZMmcJnP/tZ5s2bx+TJk+no6KC+vp7OzmTLTN73vvfx0EMPceyxx7JhwwYO\nPvhg3vnOd/KFL3yBP/7xjzQ0NLDTTjuxYsUKtt1228063/6YOEuSJNWIuqm7kQNYtTy/PKNhbD5p\nnrrboNqdOnUqN99880bbip9kcfnllw/YxuGHH87hhx/e/frrX//6Jsd0dnayYsUKbr31VnK5HB//\n+MfZfvvt2XvvvbuPKY6j6+dTTjmle9t5553X/XNLSwszZ87kjjvuGDC+cjBxliRJqhF1dRnqdtid\n3Jv/Jb+meXRTajPNaaivr2fdunUceeSRjB49mtmzZ7PXXntVOqzEaudKS5IkCcgv2yjHjYCVcMYZ\nZ3DGGWdUOozN4uPoJEmSpARMnCVJkqQETJwlSZKkBEycJUmSpARMnCVJkqQETJwlSZKkBEycJUmS\npARMnCVJkqQETJwlSZKkBEycJUmSpARMnCVJkqQETJwlSZKkBEycJUmSpARMnCVJkqQETJwlSZKk\nBEycJUmSpARMnCVJkqQETJwlSZKkBEycJUmSpARMnCVJkqQETJwlSZKkBEycJUmSpARMnCVJkqQE\n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\nJEmSEjBxliRJkhIwcZYkSZISMHGWJEmSEjBxliRJkhIwcZYkSZISMHGWJEmSEqhPq+EQwmhgITAN\naAS+EmO8o2j/4cD5QCewMMZ4TVqxSNJg3Ln0MQAO3WHPCkciSaqkNGecjwNeiTG+B/gA8O2uHYWk\n+lLgIGB/4MQQwrYpxiJJkiQNSmozzsAtwE8KP9eRn1nusgvwdIzxVYAQwm+B/QrvkaSq0DXTnOvx\nGpx9lqSRKLXEOca4BiCEMIF8An1u0e6JwKqi16uBSQO12draWs4QS9bS0lLR/tU7x6V61frY5LYu\n/FBXl3+dy3Xvq/Vzq/X4hzPHpno5NtVpKMclzRlnQgg7ALcB34kxXl+0qw2YUPR6ArByoPZmzZpF\nY2NjeYNMqKWlhebm5or0rb45LtVrOI1N9xrnHYvOZ8cKBVMGw2lshhvHpno5NtUpjXHp6Ojoc7I2\nzZsDtwXuAT4fY7yvx+6/AjNDCFOANeSXaVySViySJEnSYKU543w2sAVwXgjhvMK2a4BxMcarQwhn\nAL8kf4Piwhjj31KMRZIkSRqUNNc4nwac1s/+nwM/T6t/SSoXbwSUJIEFUCRJkqRETJwlSZKkBEyc\nJUmSpARMnCVJkqQETJwlSZKkBEycJUmSpARMnCVJkqQETJwlSZKkBEycJUmSpARMnCVJkqQETJwl\nSZKkBEycJUmSpARMnCVJkqQETJwlSZKkBEycJUmSpARMnCVJkqQETJwlSZKkBEycJUmSpARMnCVJ\nkqQETJwlSZKkBEycJUmSpARMnCVJkqQETJwlSZKkBEycJUmSpARMnCVJkqQETJwlSZKkBEycJUmS\npARMnCVJkqQETJwlSZKkBEycJUmSpARMnCVJkqQETJwlSZKkBEycJUmSpARMnCVJkqQETJwlSZKk\nBEycJUmSpARMnCVJkqQETJwlSZKkBEycJUmSpARMnCVJkqQETJwlSZKkBEycJUmSpARMnCVJkqQE\n6tNsPITwDuAbMca5PbafDnwGeLmw6aQYY0wzFkmSJGkwUkucQwhfAuYDa3vZ3Qx8IsbYklb/kiRJ\nUjmluVTjGeDDfexrBs4KIfw2hHBWijFIkiRJZVGXy+VSazyEMA24Mca4T4/tXwauANqA24DvxhgX\n9dVOS0vLNOC51AKVJEmSNja9ubl5SfGGVNc49yaEUAdcFmNcVXh9J7AH0Gfi3GXWrFk0NjamHGHv\nWlpaaG5urkjf6pvjUr0cm+rl2FQvx6Z6OTbVKY1x6ejooLW1tdd9Q544AxOB1hDCLuTXP78XWFiB\nOCRJkqTEhixxDiHMA8bHGK8OIZwN/AroAO6LMd41VHFIkiRJmyPVxDnGuATYp/Dz9UXbrwOuS7Nv\nSZIkqZwsgCJJkiQlYOIsSZIkJWDiLEmSJCVg4ixJkiQlYOIsSZIkJWDiLEmSJCVg4ixJkiQlYOIs\nSZIkJWDiLEmSJCVg4ixJkiQlYOIsSZIkJWDiLEmSJCVg4ixJkiQlYOIsSZIkJWDiLEmSJCVg4ixJ\nkiQlYOIsSZIkJWDiLEmSJCVg4ixJkiQlYOIsSZIkJWDiLEmSJCVg4ixJkiQlYOIsSZIkJWDiLEmS\nJCVg4ixJkiQlYOIsSZIkJWDiLEmSJCVg4ixJkiQlYOIsSZIkJWDiLEmSJCVg4ixJkiQlYOIsSZIk\nJWDiLEmSJCVg4ixJkiQlYOIsSZIkJWDiLEmSJCVg4ixJkiQlUF/pABIaBbB+/fqKBtHR0VHR/tU7\nx6V6OTbVy7GpXo5N9XJsqlO5x6Uo3xzVc19dLpcra2dpaGlp2Rf4TaXjkCRJ0ojxnubm5t8Wb6iV\nGedHgPcALwIbKhyLJEmShq9RwPbk88+N1MSMsyRJklRp3hwoSZIkJWDiLEmSJCVg4ixJkiQlYOIs\nSZIkJVArT9WoqBDCO4BvxBjnVjoW5YUQRgMLgWlAI/CVGOMdFQ1KAIQQRgHXAAHIASfHGFsrG5W6\nhBC2AVqAA2OMT1Q6Hr0hhPAY0FZ4+VyM8VOVjEd5IYSzgCOABuA7McZrKxySgBDCJ4FPFl42AXOA\n7WKMK9Ps18R5ACGELwHzgbWVjkUbOQ54JcY4P4QwBfgjYOJcHQ4HiDG+O4QwF/gq8MGKRiSg+xfO\nq4B1lY5FGwshNAF1TtBUl8L/w94FvBsYC/x/FQ1I3WKM3we+DxBCuAJYmHbSDC7VSOIZ4MP/f3v3\nFipXdcdx/HuiEU2qieCNWElB6i94qYLRBrEhFW1Qq5gHqS9WDFGCd6sFKypqL/pQBFGoNq23qHhX\naBDUmkjwQbyjVPr3oajg8VKNlIiKJhkf9j7mGGsyOZjZ53i+HxjYe2bNXv9hYPjttdee1XUR+ob7\ngcvb7SFgXYe1aJSqegQ4s92dDWzzHzL17c/ATcBw14XoGw4GpiV5PMnKJPO6LkgALAReBR4G/gGs\n6LYcbSrJXOCAqvrrIPozOG9BVT0IfNF1Hfq6qvq4qtYm2Rl4ALis65q0UVWtS3I7cANwV9f16KvL\nmspwxmAAAAQaSURBVP+tqse6rkX/1yc0JzYLgaXAXUm8Kty93YC5wMls/F6Gui1Jm7gUuGpQnRmc\nNWEl2QdYBSyvqru7rkdfV1WnAfsBy5JM77oesRg4JslTNHMB70iyV7claZTXgTurqldVrwMf0qxc\npm59CDxWVZ9XVQGfAbt3XJNaSWYCqapVg+rTs1lNSEn2BB4HzqmqJ7uuRxslORX4YVVdQzOKtqF9\nqENVNX9kuw3PS6vq3e4q0iYWAwcBZyWZBewCvNNtSQKeBs5Pch3Nicx0mjCt8WE+MNAMYHDWRHUp\nsCtweZKRuc7HVpU3PXXvIeDWJKuBqcAFfi/SFv0duC3J0zT/RrO4qrx3o2NVtSLJfOBZmqv0Z1fV\n+o7L0kYB/jPIDod6vd4g+5MkSZImJOc4S5IkSX0wOEuSJEl9MDhLkiRJfTA4S5IkSX0wOEuSJEl9\nMDhL0jiV5NYks7fQ5qkkCzbz+o+SvPEd1zUjySPb6viSNF4ZnCVp/Po5MB6X992VZvVBSZpUXABF\nkgakHRm+CvgC2IdmUYUlwK+AC2gGM14Azm73ZwGPJvkZcBRwEbBT+1hSVau3sv89gZvbvjcAv6uq\nfya5Etgb+DEwG/hbVf0xyVTgJuBI4G2ahTl+D/wGmJXkYeBCYKck9wAHAh8BJ1WVq6tJ+t5xxFmS\nButwmmA8B9gRuBg4Aziiqg4B3gcurqprgWHgOJowuhT4ZVUdDFwL/HYMfV8P3FJVhwInAjcn2bl9\n7SfAL4CfApckmdn2Ob2t9XTgsLbtecBwVS1q93cHrquqA4H3gFPGUJskjXuOOEvSYK2uqgJIspxm\nifIPgGeSAOwAvDj6DVW1Icki4IQ0jRYAY1n292hgTpKr2/2pwL7t9qqq+hx4P8kaYAZwDLCsqnrA\nm0me/JbjDlfVs+32v4DdxlCbJI17BmdJGqx1o7anANsB91XVeQBJfsAmv83tc88By4HVwCvAOWPo\nezvgqKpa0x53Fs0I8UnAZ6Pa9WjmVq+nvyuToz/TyHsl6XvHqRqSNFhHJtk7yRTg1zRzmRcl2SPJ\nEPCX9jloAun2wH40c5L/BKwEjqUJwVtrJXAWQJL9aQL4tM20fwI4JclQG7IX0ATjkbokaVIxOEvS\nYA0DdwCv0dxwdyPNDYMraaY5TKGZwwywAngU+B/wMvBvmmkcH9PcxLe1zgXmJXkFuBc4tarWbqb9\nMmAt8CpwO/Am8CnNKPVbSVaNoQZJmrCGer1e1zVI0qTQ/qvGlVW1oONS+pLkeGCoqlYkmQG8BMwd\nmeohSZONl9okaYJLsi/w4Le8vKSqnh/joV8Dlif5Q7t/haFZ0mTmiLMkSZLUB+c4S5IkSX0wOEuS\nJEl9MDhLkiRJfTA4S5IkSX0wOEuSJEl9MDhLkiRJffgSQk4sR9wUYNAAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1113b3320>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "visualizer = ScatterViz(classes=classes, features=features, color=colors)\n",
    "visualizer.fit(X, y)      # Fit the data to the visualizer\n",
    "visualizer.show()         # Draw/show/show the data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "collapsed": false,
    "deletable": true,
    "editable": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['#cbd5e8', '#b3e2cd', '#fdcdac', '#f4cae4', '#fff2ae', '#e6f5c9']"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "visualizer.colormap"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true,
    "deletable": true,
    "editable": true
   },
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.5.2"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
